;
(function(win) {
	win.jadeSystem = {};
	win.jadeSystem.validateInstall = function() {
		if (typeof window.JadeEngine === "undefined" || window.JadeEngine == null) {
			throw "JadeEngine is not found!";
		}
	};

	win.jadeSystem.notifyArray = function(array, callback) {
		eval("for(var num in array){ try{array[num]." + callback + "();	}catch(e){throw 'no define method!';}}");
	};

	win.jadeSystem.notifyArrayAndResult = function(array, callback, params) {
		var result = [];
		eval(" for(var num=0;num<array.length; num++){ try{ result.push(array[num]." + callback +
			"(params));	}catch(e){jadeSystem.warn('\\'" + callback + "\\' function is not found!');}}");
		return result;
	};

	win.jadeSystem.notifyAndResult = function(object, callback, params) {
		var result = {};
		eval(" try{ result = object." + callback + "(params);	}catch(e){jadeSystem.warn('\\'" + callback +
			"\\' function is not found!');}");
		return result;
	};

	win.jadeSystem.error = function(message) {
		var openErrorLog = JadeEngine.openErrorLog;
		if (openErrorLog) {
			console.error(message);
		}
	};

	win.jadeSystem.info = function(message) {
		var openInfoLog = JadeEngine.openInfoLog;
		if (openInfoLog) {
			console.info(message);
		}
	};

	win.jadeSystem.warn = function(message) {
		var openWarnLog = JadeEngine.openWarnLog;
		if (openWarnLog) {
			console.warn(message);
		}
	};

	win.jadeSystem.isUndefine = function(obj) {
		return typeof obj === "undefined" || obj == null;
	}
}(window));
